package jp.co.dailyReport.customer.action;

import java.util.Calendar;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;

/**
 * org.apache.struts.action.ActionMappingに関連づけられた
 * org.apache.struts.action.ActionFormのサブクラスで
 * 取引先情報を表します。
 */
public class CustomerActionForm extends ActionForm {

	//取引先ID
	protected int customerId;
	//取引先名
	protected String name;
	//削除フラグ
	protected boolean delFlg;
	//更新日
	protected Calendar upDay;

	/**
	 * 取引先IDを設定します。
	 * 
	 * @param customerId 取引先ID
	 */
	public void setCustomerId(int customerId) {
		this.customerId = customerId;
	}

	/**
	 * 取引先IDを取得します。
	 * 
	 * @return customerId
	 */
	public int getCustomerId() {
		return customerId;
	}

	/**
	 * 取引先名を設定します。
	 * 
	 * @param name 取引先名
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 取引先名を取得します。
	 * 
	 * @return name
	 */
	public String getName() {
		return name;
	}

	/**
	 * 削除フラグを設定します。
	 * 
	 * @param delFlg 削除フラグ
	 */
	public void setDelFlg(boolean delFlg) {
		this.delFlg = delFlg;
	}

	/**
	 * 削除フラグを取得します。
	 * 
	 * @return delFlg
	 */
	public boolean isDelFlg() {
		return delFlg;
	}

	/**
	 * 更新日を設定します。
	 * 
	 * @param upDay 更新日
	 */
	public void setUpDay(Calendar upDay) {
		this.upDay = upDay;
	}

	/**
	 * 更新日を取得します。
	 * 
	 * @return upDay
	 */
	public Calendar getUpDay() {
		return upDay;
	}

	/**
	 * 名前がnullまたは長さ0の場合、
	 * ActionErrorsオブジェクトを返します。
	 * 
	 * @param mapping このインスタンスを選択するために用いられたマッピング
	 * @param request 処理しているServletリクエスト
	 * @return ActionErrorsオブジェクト
	 */
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
        if(name == null || name.length() == 0)
            errors.add("name", new ActionError("errors.name.required"));
        return errors;
    }
}